/*
 *  $Id: PhrasePart.cs 1178 2010-11-09 18:14:43Z thenn.erannor $
 *	This file is a part of Ragima CCG.
 *	(C) 2008-2010 Ragima development group.
 *
 *	Licensed under the terms of the GNU GPL License version 2.
 *
 */

namespace Ragima.Languages.PhraseParts {
    /// <summary>
    /// Абстрактный класс части фразы.
    /// </summary>
    public abstract class PhrasePart {
        /// <summary>
        /// Строит часть фразы.
        /// </summary>
        public abstract void Build(PhraseBuilder builder, object[] args);

        /// <summary>
        /// Строит шаблон части фразы.
        /// </summary>
        public abstract void BuildTemplate(PhraseBuilder builder);

        /// <summary>
        /// Получает объект для хинта к части фразы.
        /// </summary>
        public virtual object GetHintObject(object[] args) {
            return null;
        }
    }
}
